﻿//struct Node* copyRandomList(struct Node* head) {
//    if (head == NULL)
//        return NULL;
//    struct Node* p = head;
//    struct Node* phead = (struct Node*)malloc(sizeof(struct Node));
//    struct Node* ph = phead;
//    while (p)
//    {
//        struct Node* tmp = p->next;
//        ph->val = p->val;
//        p->next = ph;
//        ph->random = p->random;
//        ph->next = (struct Node*)malloc(sizeof(struct Node));
//        if (tmp)
//            ph = ph->next;
//        else
//            ph->next = NULL;
//        p = tmp;
//    }
//    ph = phead;
//    while (ph)
//    {
//        if (ph->random)
//            ph->random = ph->random->next;
//        ph = ph->next;
//    }
//    return phead;
//}

//int* printNumbers(int n, int* returnSize) {
//    int a[100000], i = 0, m = 0;
//    fscanf(stdin, "%d", &n);
//    if (n < 0 || n > 5)
//        return 0;
//    for (i = 1; i <= n; i++)
//    {
//        m = m * 10 + 9;
//    }
//    for (i = 1; i <= m; i++)
//    {
//        a[i - 1] = i;
//    }
//    *returnSize = m;
//    return a;
//}

//#include <stdio.h>
//int main() {
//    int year = 0, month = 0, days = 0, n = 0;
//    fscanf(stdin, "%d%d%d", &year, &month, &days);
//    int months[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
//    for (int i = 1; i < month; i++)
//    {
//        n += months[i - 1];
//    }
//    if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
//    {
//        if (month > 2)
//            days += n + 1;
//        else
//            days += n;
//    }
//    else
//        days += n;
//    fprintf(stdout, "%d", days);
//    return 0;
//}

//#include <stdio.h>
//int main() {
//    int m = 0, i = 0, n = 0, count = 1;
//    fscanf(stdin, "%d", &m);
//    for (i = 1; i < m; i++)
//        n += i;
//    count += n * 2;
//    for (i = 0; i < m; i++)
//    {
//        if (i == m - 1)
//            fprintf(stdout, "%d", count);
//        else
//            fprintf(stdout, "%d+", count);
//        count += 2;
//    }
//    return 0;
//}